1. Field of the Invention
This invention relates in general to database management systems performed by computers, and in particular, to an evaluation strategy for the execution of SQL queries involving recursion and table queues in a relational database management system.
2. Description of Related Art
Computer systems incorporating Relational DataBase Management System (RDBMS) software using a Structured Query Language (SQL) interface are well known in the art. The SQL interface has evolved into a standard language for RDBMS software and has been adopted as such by both the American Nationals Standard Organization (ANSI) and the International Standards Organization (ISO).
In RDBMS software, all data is externally structured into tables. The SQL interface allows users to formulate relational operations on the tables either interactively, in batch files, or embedded in host languages such as C, COBOL, etc. Relational operations are provided in SQL that allow the user to manipulate the data, wherein each operator operates on either one or two tables and produces a new table, as a result. The power of SQL lies on its ability to link information from multiple tables or views together to perform complex sets of procedures with a single statement.
However, there are some weaknesses in SQL that limit its effectiveness. For example, the response time for SQL queries may be limited because an entire view or query must be completely materialized before it is used and presented for display. Further, SQL lacks pipelining capabilities that speed the retrieval off data. In addition, recursion capabilities in SQL are inefficient in implementing repetitive processes in SQL, wherein the results of each repetition depends on the results of the previous repetition.
Thus, there is a need in the art for techniques for implementing queuing and recursion in the execution of SQL queries.